//获取当前url ？后的所有参数
export function getQuery(){
    let res=window.location.hash.split("?")[1].match(new RegExp("[?&][^?&]+=[^?&]+", "g"))
    if(res===null)return ""
    for(let i=0;i<res.length;i++){
        res[i]=res[i].substring(1)
    }
    console.log("res",res);
    return res;
}
 //根据参数名称获取值
  export function getQueryByName(name: string) {
    // console.log(window.location.hash.split("?")[1]) 因为路径有#号
    console.log(name)
    let res= window.location.hash.split("?")[1].match(
      new RegExp("[?&]" + name + "=([^&]+)", "i")
    );
    console.log(res)
    if (res == null || res.length < 1) {
      return "";
    }
    return res[1];
  }
  // 时间 格式化成 2018-12-12 12:12:00
  export function timestampToTime(timestamp: Date | any, dayMinSecFlag: boolean) {
    const date = new Date(timestamp);
    const Y = date.getFullYear() + "-";
    const M =
      (date.getMonth() + 1 < 10
        ? "0" + (date.getMonth() + 1)
        : date.getMonth() + 1) + "-";
    const D =
      date.getDate() < 10 ? "0" + date.getDate() + " " : date.getDate() + " ";
    const h =
      date.getHours() < 10 ? "0" + date.getHours() + ":" : date.getHours() + ":";
    const m =
      date.getMinutes() < 10
        ? "0" + date.getMinutes() + ":"
        : date.getMinutes() + ":";
    const s =
      date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
    if (!dayMinSecFlag) {
      return Y + M + D;
    }
    return Y + M + D + h + m + s;
  }
  
//防抖
// fn是我们需要包装的事件回调, delay是时间间隔的阈值
export function throttle(fn: Function, delay: number) {
  // last为上一次触发回调的时间, timer是定时器
  let last = 0,
    timer: any = null;
  // 将throttle处理结果当作函数返回
  return function () {
    const that: any = (this as any);
    // 保留调用时的this上下文
    let context = that;
    // 保留调用时传入的参数
    let args = arguments;
    // 记录本次触发回调的时间
    let now = +new Date();

    // 判断上次触发的时间和本次触发的时间差是否小于时间间隔的阈值
    if (now - last < delay) {
      // 如果时间间隔小于我们设定的时间间隔阈值，则为本次触发操作设立一个新的定时器
      clearTimeout(timer);
      timer = setTimeout(function () {
        last = now;
        fn.apply(context, args);
      }, delay);
    } else {
      // 如果时间间隔超出了我们设定的时间间隔阈值，那就不等了，无论如何要反馈给用户一次响应
      last = now;
      fn.apply(context, args);
    }
  };
}
